888b15fe63a5d597467441e8de2d28dac3245205,adal/src/main/java/com/microsoft/aad/adal/Discovery.java,Discovery,isValidAuthority,#URL#,90

Before Change


        if (authorizationEndpoint != null
                && !StringExtensions.IsNullOrBlank(authorizationEndpoint.getHost())
                && authorizationEndpoint.getProtocol().equals("https")
                && StringExtensions.IsNullOrBlank(authorizationEndpoint.getQuery())
                && StringExtensions.IsNullOrBlank(authorizationEndpoint.getRef())
                && !StringExtensions.IsNullOrBlank(authorizationEndpoint.getPath())) {

            if (UrlExtensions.isADFSAuthority(authorizationEndpoint)) {
                Logger.e(TAG,

After Change


        // Authority is in the form of https://Instance/tenant/somepath
        if (authorizationEndpoint == null || StringExtensions.IsNullOrBlank(authorizationEndpoint.getHost())
                || !authorizationEndpoint.getProtocol().equals("https")
                || !StringExtensions.IsNullOrBlank(authorizationEndpoint.getQuery())
                || !StringExtensions.IsNullOrBlank(authorizationEndpoint.getRef())
                || StringExtensions.IsNullOrBlank(authorizationEndpoint.getPath())) {
            throw new AuthenticationException(ADALError.DEVELOPER_AUTHORITY_IS_NOT_VALID_INSTANCE);
        }

        if (UrlExtensions.isADFSAuthority(authorizationEndpoint)) {
            Logger.e(TAG, "Instance validation returned error", "",
                    ADALError.DEVELOPER_AUTHORITY_CAN_NOT_BE_VALIDED,
                    new AuthenticationException(ADALError.DISCOVERY_NOT_SUPPORTED));
            throw new AuthenticationException(ADALError.DEVELOPER_AUTHORITY_IS_NOT_VALID_INSTANCE,
                    "Cannot vaid ADFS authority",
                    new AuthenticationException(ADALError.DEVELOPER_AUTHORITY_CAN_NOT_BE_VALIDED));
        }

        if (sValidHosts.contains(authorizationEndpoint.getHost().toLowerCase(Locale.US))) {